/******************************************************************************
 * (C) Copyright 2013 Atech-Automotive
 * FILE NAME:    uds_diag_drv.h
 * DESCRIPTION:
 * 
 * DATE BEGUN:   2015/05/05
 * BY:           hui.pang
 * PRODUCT NAME:
 * APPLICATION:
 * TARGET H/W:
 * DOC REF:
 *****************************************************************************
 */

#ifndef _UDS_DIAG_DRV_H_
#define _UDS_DIAG_DRV_H_

/*****************************************************************************
**  typedef
*****************************************************************************/
typedef enum /* don't change */
{
    DIAG_PHYSIC_ADDR_MODE   = 0x01,
    DIAG_FUNCTION_ADDR_MODE = 0x02,
    
} Uds_DiagAddrMode_E;

typedef enum /* don't change */
{
    COMM_APP_SEND = 0,
    COMM_APP_REC,
    COMM_NWM_SEND,
    COMM_NWM_REC,

} Uds_CanCommCtrlSts_E;

/*****************************************************************************
**#include 
*****************************************************************************/
#include "uds_diag_config.h"
#include "uds_diag_callback.h"
#include "uds_diag_fun.h"

#pragma CODE_SEG OTHER_ROM

/*****************************************************************************
** Constant Macro Definition
*****************************************************************************/


/*****************************************************************************
** System Macro Definition
*****************************************************************************/


/*****************************************************************************
** Action Macro Definition
*****************************************************************************/


/*****************************************************************************
** Config Macro Definition
*****************************************************************************/


/*****************************************************************************
** Task Macro Definition
*****************************************************************************/


/*****************************************************************************
** Variables
*****************************************************************************/


/*****************************************************************************
** Constants
*****************************************************************************/


/*****************************************************************************
** Function prototypeseb
*****************************************************************************/

/****************************************************************************/
/**
 * Function Name: udsAppl_GetCommCtrlFlag
 * Description: none
 *
 * Param:   none
 * Return:  none
 * Author:  2015/05/08, hui.pang create this function
 ****************************************************************************/
extern BOOL udsAppl_GetCommCtrlFlag( Uds_CanCommCtrlSts_E flag );

/****************************************************************************/
/**
 * Function Name: UdsAppl_Init
 * Description: This is the cold initialization function.
 *
 * Param:   none
 * Return:  none
 * Author:  2015/06/01, hui.pang create this function
 ****************************************************************************/
extern void UdsAppl_Init( void );

/****************************************************************************/
/**
 * Function Name: UdsAppl_Handler1ms
 * Description: 1ms tasks. Must be called periodically (every 1 ms)
 *
 * Param:   none
 * Return:  none
 * Author:  2015/06/01, hui.pang create this function
 ****************************************************************************/
extern void UdsAppl_Handler1ms( void );

/****************************************************************************/
/**
 * Function Name: UdsAppl_Handler10ms
 * Description: 10ms task
 *
 * Param:   none
 * Return:  none
 * Author:  2015/06/01, hui.pang create this function
 ****************************************************************************/
extern void UdsAppl_Handler10ms( void );

/*****************************************************************************
** other
*****************************************************************************/

#pragma CODE_SEG  DEFAULT

/****************************************************************************/

#endif	//_UDS_DIAG_DRV_H_

/*****************************************************************************
** End File
*****************************************************************************/
